The present invention relates to a characteristic point detection system, a characteristic point detection method, and a program with respect to GPS log data.
In recent years, pursuant to the popularization of smartphones and GPS loggers, users can now easily acquire GPS (Global Positioning System) data upon going out. Moreover, it is also possible to use a computer program which maps the acquired GPS data on a map and display the track of the outing, and upload such track on a blog or the like for sharing. As this kind of program, there are various types including package software in which map information is previously registered, and those which upload log data to a server by using an ISP (Internet Service Provider) or various types of API (Application Program Interface) or the like that are available, and display the track on a map by using a Web browser. The foregoing types of software all display data (hereinafter referred to as the “GPS log data”) such as the measurement coordinate data and time acquired by using the GPS system as visual information such as a map.
Nevertheless, generally speaking, since the GPS log data is data that was acquired mechanically according to given rules such as acquisition at given time intervals and the respective data points themselves only have a meaning as a single spot, even if these data points are displayed on the map, the track of the acquired data points is merely displayed. Thus, when using the GPS log data, the user is often required to process data. As a typical example of processing data, when a user is to share information of one's trip on a blog, there are cases where the sightseeing destinations, restaurants used, landmarks where photos were taken and other locations that are more important than other locations (hereinafter referred to as the “waypoints”) are emphasized on the map, or related information is added by posting a link to that point.
As a conventional method of re-processing the GPS log data, there is manual editing by a user or automatic processing by a computer program. Manual editing by a user is performed, for example, by selecting the corresponding location on the map with a mouse pointer or the like by using a GUI interface, and intuitively adding or editing the waypoints. Consequently, the user can create the waypoints freely based on one's memory while viewing the map on which the track of the GPS log data is plotted.
Moreover, as the automatic processing by a computer program, there is, for example, coordination with a database. Waypoint candidate spots such as restaurants and sightseeing spots are registered in a database in advance, and areas that are close to the registered spots, in terms of distance, are extracted as candidates from the track of the GPS log data. In addition, certain candidates among the extracted candidates are displayed based on some kind of policy, and then selected by the user. For example, considered may be ranking the respective spots based on popularity, and displaying the top N-number of spots.
Moreover, as another example of automatic processing by a computer program, there is a method of detecting and displaying pots in which the speed or acceleration changed considerably (Non-Patent Documents 1 to 3). According to this method, since it is possible to detect spots where the user switched from walking to taking a car or train, key transits, shopping centers and the like can be displayed.    Non-Patent Document 1: D. Ashbrook and T. Starner, “Using GPS to learn significant locations and predict movement across multiple users”, Personal and Ubiquitous Computing, 7(5), 2003    Non-Patent Document 2: Hariharan, R., Toyama, K., “Project Lachesis: parsing and modeling location histories”, M. J. Egenhofer, C. Freksa, and H. J. Miller (Eds.): Geographic Information Science 2004, LNCS 3234, pp 106-124    Non-Patent Document 3: Yu Zheng and Xing Xie, “Learning Transportation Mode from Raw GPS Data for Geographic Application on the Web”, Association for Computing Machinery, Inc., 20 Apr. 2008
Nevertheless, with the conventional methods, it is difficult to display waypoints efficiently and with high responsiveness and accuracy. With the manual editing by a user, it is necessary to extract the corresponding location from the track on the map based on the user's memory, but this is generally a troublesome task. This is because it is not easy to accurately position all locations that the user stopped at on the map.
Moreover, even with the method of coordinating with a database, the locations that may become a waypoint will differ depending on the user, and, even when it is the same user, locations that are meaningful to that user will differ from moment to moment. Thus, it is difficult to select appropriate waypoints for each user by using a database that is registered with waypoint candidates. Thus, the detection accuracy of waypoints is not necessarily high.
In addition, since the distance between all points of the GPS log data and all points registered in the database need to be calculated in principle, it is extremely costly. While methods of reducing the computational effort may be considered; for instance, initially detecting the range of the track of the GPS log data and limiting the search range to the foregoing range, or narrowing the search range based on the user's preference information or the like, since the computational effort increases non-linearly relative to the increase in the data amount, it is anticipated that the processing time will be long for large databases and GPS log data.
Moreover, with the method of detecting the changes in speed or acceleration, whether the change is large is generally determined using a threshold, but it is generally difficult to find the appropriate threshold which corresponds to various types of GPS log data, and this method is also easily affected by noise. In order to improve the accuracy, after performing the determination processing using a threshold, it is necessary to additionally perform the narrowing processing of candidates, and the processing becomes complicated.